package com.wealth.scsj.b_app.api;


import com.wealth.scsj.b_app.bean.AllClassfyBean;
import com.wealth.scsj.b_app.bean.BaseBean;
import com.wealth.scsj.b_app.bean.EvaluationStatisticsScoreBean;
import com.wealth.scsj.b_app.bean.GetEvaluationNumBean;
import com.wealth.scsj.b_app.bean.GetOwnTreasureInfoBean;
import com.wealth.scsj.b_app.bean.GoodsDetailBean;
import com.wealth.scsj.b_app.bean.MyWalletBalanceBean;
import com.wealth.scsj.b_app.bean.GetShopScoreBean;
import com.wealth.scsj.b_app.bean.QueryAllMarksBean;
import com.wealth.scsj.b_app.bean.QueryAllTerraceBean;
import com.wealth.scsj.b_app.bean.QueryCardBean;
import com.wealth.scsj.b_app.bean.SelectAppClass1Bean;
import com.wealth.scsj.b_app.bean.SelectAppGoodsByStoreAndClassBean;
import com.wealth.scsj.b_app.bean.QueryShopBrandBean;
import com.wealth.scsj.b_app.bean.SelectUserHasBindBankCardBean;
import com.wealth.scsj.b_app.bean.SettleAmountSumForDeliveryBean;
import com.wealth.scsj.b_app.bean.StoreOperationMainBean;
import com.wealth.scsj.b_app.bean.UpdateUserProfilePictureBean;
import com.wealth.scsj.b_app.bean.ShoperRefusedRefundBean;
import com.wealth.scsj.b_app.bean.UserEvaluateListBean;

import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.Query;
import rx.Observable;

/**
 * 接口定义
 */
public interface APIService {

    /**
     * 新增收货地址
     */
    @POST("scsj-order/appAddress/addUserDeliveryAddress")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzYxMDY2MDM3MSIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMDE2OTc1NjUyOCwiZXhwIjoxNTMwNzc0NTU2fQ.NY2wuuSrmPI0QN1XYyHqXOeiKt8czgC3QZrOghn6uYqT1kg_Kzc4pRuRgcg3AuCYU8FXy4Y41gPxVr8tesPmbA")
    Observable<BaseBean> GetAddDeliveryAddress(@Body RequestBody requestBody);

    /**
     * 找回支付密码获取验证码
     */
    @POST("scsj-treasure/appTreasure/getBackPasswordCode")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzYxMDY2MDM3MSIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMDE2OTc1NjUyOCwiZXhwIjoxNTMwNzc0NTU2fQ.NY2wuuSrmPI0QN1XYyHqXOeiKt8czgC3QZrOghn6uYqT1kg_Kzc4pRuRgcg3AuCYU8FXy4Y41gPxVr8tesPmbA")
    Observable<BaseBean> GetBackPasswordCode(@Body RequestBody requestBody);

    /**
     * 验证验证码是否正确
     */
    @POST("scsj-base/sms/verifySmsCode")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzYxMDY2MDM3MSIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMDE2OTc1NjUyOCwiZXhwIjoxNTMwNzc0NTU2fQ.NY2wuuSrmPI0QN1XYyHqXOeiKt8czgC3QZrOghn6uYqT1kg_Kzc4pRuRgcg3AuCYU8FXy4Y41gPxVr8tesPmbA")
    Observable<BaseBean> VerifySmsCode(@Body RequestBody requestBody);

    /**
     * 设置/忘记支付密码
     */
    @POST("scsj-treasure/appTreasure/getBackPassword")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzYxMDY2MDM3MSIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMDE2OTc1NjUyOCwiZXhwIjoxNTMwNzc0NTU2fQ.NY2wuuSrmPI0QN1XYyHqXOeiKt8czgC3QZrOghn6uYqT1kg_Kzc4pRuRgcg3AuCYU8FXy4Y41gPxVr8tesPmbA")
    Observable<BaseBean> GetBackPassword(@Body RequestBody requestBody);

    /**
     * 查询用户已绑定的银行卡
     */
    @POST("scsj-treasure/appUserBankCard/selectUserHasBindBankCard")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxODU2NzU2NTM0NCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMjQyMTY2MDgyOSwiZXhwIjoxNTMzMDI2NDYwfQ.6zgWO0p6goZtl_qPAfXJl2EepATyvvkpCL_K2-g4_t1n10Sj3AHfqDnAfxcd7rr9nZWR5adpNNGx5_fIyBMB5g")
    Observable<SelectUserHasBindBankCardBean> SelectUserHasBindBankCard(@Body RequestBody requestBody);

    /**
     * 买家版钱包界面查询 可查询余额
     */
    @POST("scsj-treasure/appTreasure/getOwnTreasureInfo")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxODU2NzU2NTM0NCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMTkwMDM3ODk0MiwiZXhwIjoxNTMyNTA1MTc4fQ.DDtj782p1-rDJMo5M_4A801bEe8H5cYOvfIRSmI30GAqmGnMFl6jyvXPPNc5VcVCp0UcgFJ4aHASyBNIpfgKCQ")
    Observable<GetOwnTreasureInfoBean> GetOwnTreasureInfo(@Body RequestBody requestBody);

    /**
     * 提现申请
     */
    @POST("scsj-treasure/appTakeCash/withdrawCash")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxODU2NzU2NTM0NCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMTkwMDM3ODk0MiwiZXhwIjoxNTMyNTA1MTc4fQ.DDtj782p1-rDJMo5M_4A801bEe8H5cYOvfIRSmI30GAqmGnMFl6jyvXPPNc5VcVCp0UcgFJ4aHASyBNIpfgKCQ")
    Observable<BaseBean> WithdrawCash(@Body RequestBody requestBody);

    /**
     * 阿里的银行卡
     */
    @GET("https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8")
    Observable<QueryCardBean> QueryCard(@Query("cardNo") String cardNum, @Query("cardBinCheck") boolean cardBinCheck);


    /**
     * 发送绑定银行卡验证码
     */
    @POST("scsj-treasure/appUserBankCard/sendBindBankCardCode")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNTUxNTUyMTY1NCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMTgyNTM2OTg0MCwiZXhwIjoxNTMyNDMwMTY5fQ.Xr_yzowXZWGgKTAeapSceHoo_nsWNq0uDjfrs-udZcDwEbiLKtCuHTLCj2q0d9k24H8F50oQtiXwvA080iXlJQ")
    Observable<BaseBean> SendBindBankCardCode(@Body RequestBody requestBody);

    /**
     * 绑定银行卡接口
     */
    @POST("scsj-treasure/appUserBankCard/bindBankCard")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNTUxNTUyMTY1NCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMTgyNTM2OTg0MCwiZXhwIjoxNTMyNDMwMTY5fQ.Xr_yzowXZWGgKTAeapSceHoo_nsWNq0uDjfrs-udZcDwEbiLKtCuHTLCj2q0d9k24H8F50oQtiXwvA080iXlJQ")
    Observable<BaseBean> BindBankCard(@Body RequestBody requestBody);

    /**
     * 修改登录密码
     */
    @POST("scsj-user/user/updatePassword")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzYxMDY2MDM3MSIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMDE2OTc1NjUyOCwiZXhwIjoxNTMwNzc0NTU2fQ.NY2wuuSrmPI0QN1XYyHqXOeiKt8czgC3QZrOghn6uYqT1kg_Kzc4pRuRgcg3AuCYU8FXy4Y41gPxVr8tesPmbA")
    Observable<BaseBean> SetAlterLoginPwd(@Body RequestBody requestBody);

    /**
     * 门店运营-商品管理查看分类下的商品
     */
    @POST("scsj-baseinfo/appStoreOperations/selectAppGoodsByStoreAndClass")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<SelectAppGoodsByStoreAndClassBean> SelectAppGoodsByStoreAndClass(@Body RequestBody requestBody);

    /**
     * 门店运营-展示一级分类
     */
    @POST("scsj-baseinfo/appStoreOperations/selectAppClass1")
    @Headers("Authorization:Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<SelectAppClass1Bean> SelectAppClass1(@Body RequestBody requestBody);

    /**
     * 修改用户头像
     */
    @POST("scsj-user/user/AppUpdateUserProfilePicture")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<UpdateUserProfilePictureBean> UpdateUserProfilePicture(@Body RequestBody requestBody);


    /**
     * 门店运营首页 今日订单收入 和 今日订单量
     */
    @POST("scsj-baseinfo/appStoreOperations/AppSelectOrderIncomeAndOrderQuantity")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<StoreOperationMainBean> GetOrderIncomeAndOrderQuantity(@Body RequestBody requestBody);

    /**
     * 我的钱包- 预计收益金额
     */
    @POST("scsj-order/appOrderSettle/settleAmountSumForDelivery")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<SettleAmountSumForDeliveryBean> GetSettleAmountSumForDelivery(@Body RequestBody requestBody);

    /**
     * 我的钱包- 可提现余额
     */
    @POST("scsj-treasure/appMyWallet/getBalance")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<MyWalletBalanceBean> GetMyWalletBalance(@Body RequestBody requestBody);

    /**
     * 用户评价列表
     */
    @POST("scsj-baseinfo/appGoodsEvaluate/appSelectStoreEvaluate")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<UserEvaluateListBean> getUserEvaluateList(@Body RequestBody requestBody);

    /**
     * 商家拒接接单原因列表
     */
    @POST("scsj-order/appShopOrderByStore/getStoreRefuseReason")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<ShoperRefusedRefundBean> getRefusedRefundReason(@Body RequestBody requestBody);


    /**
     * 卖家查询店铺评分
     */
    @POST("scsj-baseinfo/appGoodsEvaluate/appSelectStoreEvaluateCount")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<GetShopScoreBean> getShopScore(@Body RequestBody requestBody);

    /**
     * 查询用户评论数量
     */
    @POST("scsj-baseinfo/appGoodsEvaluate/appGetStoreEvaluateNumber")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<GetEvaluationNumBean> getEvaluationNum(@Body RequestBody requestBody);

    /**
     * 评价统计店铺评分
     */
    @POST("scsj-baseinfo/appGoodsEvaluate/appSelectStoreEvaluateCount")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<EvaluationStatisticsScoreBean> getEvaluationStatisticsScore(@Body RequestBody requestBody);

    /**
     * 根据店铺的id进行查找店铺的品牌
     */
    @POST("scsj-baseinfo/appStoreOperations/queryByStoreId")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<QueryShopBrandBean> queryShopBrands(@Body RequestBody requestBody);

    /**
     * 门店运营-商品管理-查询所有标签
     */
    @POST("scsj-baseinfo/appStoreOperations/selectGoodsTagAll")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<QueryAllMarksBean> queryAllMarks(@Body RequestBody requestBody);

    /**
     * 查询店铺下所有分类
     */
    @POST("scsj-baseinfo/appStoreOperations/initializationGoodsClass")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<AllClassfyBean> queryAllclassify(@Body RequestBody requestBody);

    /**
     * 查询所有平台分类
     */
    @POST("scsj-baseinfo/appStoreOperations/initializationQuery")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<QueryAllTerraceBean> queryAllTerrace(@Body RequestBody requestBody);

    /**
     * 查看商品信息
     */
    @POST("scsj-baseinfo/appStoreOperations/checkGoods")
    @Headers("Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNzU5NjU1MzY1OCIsImF1ZGllbmNlIjoid2ViIiwiY3JlYXRlZCI6MTUzMzAwMTY2MzEwNCwiZXhwIjoxNTMzNjA2NDYzfQ.8DR9xRjvI5VleS__QiQFOdFr2zYKLxgnIE7ioozyJGpY50FtlPHOrMybecd28WRZw4ZKIaxWFKJwQG3bDEIliA")
    Observable<GoodsDetailBean> queryAllGoods(@Body RequestBody requestBody);

}
